package com.ssy.lingxi.order.model.vo.basic.request;

import com.ssy.lingxi.order.handler.annotation.DateStringFormatAnnotation;
import com.ssy.lingxi.order.model.vo.basic.response.DeliveryPlanOrderQueryVO;
import com.ssy.lingxi.order.model.vo.basic.response.NoticeOrderProductQueryVO;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 修改送货通知单
 * @author czh
 * @version 2.0.0
 * @date 2021-07-19
 */
@Setter
@Getter
public class DeliveryNoticeOrderUpdateVO implements Serializable {

    /**
     * 摘要
     */
    @NotNull(message = "摘要不能为空")
    private String digest;

    /**
     * 送货通知单id
     */
    @NotNull(message = "送货通知单id不能为空")
    private Long noticeId;

    /**
     * 送货日期 yyyy-MM-dd
     */
    @NotBlank(message = "送货日期不能为空！")
    @DateStringFormatAnnotation(message = "送货日期格式错误！")
    private String deliveryTime;

    /**
     * 送货开始时间 （HH:mm）
     */
    @NotBlank(message = "送货开始日期不能为空！")
    private String deliveryStartTime;

    /**
     * 送货结束时间 （HH:mm）
     */
    @NotBlank(message = "送货结束时间不能为空！")
    private String deliveryEndTime;

    /**
     * 收货人姓名
     */
    @NotBlank(message = "收货人姓名不能为空！")
    private String consignee;

    /**
     * 省名称
     */
    @NotBlank(message = "省名称不能为空！")
    private String provinceName;

    /**
     * 市名称
     */
    @NotBlank(message = "市名称不能为空！")
    private String cityName;

    /**
     * 区名称
     */
    @NotBlank(message = "区名称不能为空！")
    private String districtName;

    /**
     * 街道名称
     */
    @NotBlank(message = "街道名称不能为空！")
    private String streetName;

    /**
     * 详细地址
     */
    @NotBlank(message = "详细地址不能为空！")
    private String address;

    /**
     * 手机号码
     */
    @NotBlank(message = "手机号码不能为空！")
    private String phone;

    /**
     * 备注
     */
    @NotNull(message = "备注不能为空")
    private String remark;

    /**
     * 送货物料列表
     */
    private List<NoticeOrderProductQueryVO> products;

}
